import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const os = require('node:os');

export function createOsHandler(app, logger) {
  app.get('/os/info', (req, res) => {
    try {
      const info = {
        arch: os.arch(), // 返回标识底层架构的字符串，例如 arm、x64、arm64
        cpus: os.cpus(), // 返回关于系统上可用的 CPU 的信息。
        freemem: os.freemem(), // 返回系统空闲内存量（以字节为单位）。
        totalmem: os.totalmem(), // 返回系统的总内存量（以字节为单位）。
        homedir: os.homedir(), // 返回当前用户的主目录的字符串路径。
        hostname: os.hostname(), // 返回主机名。
        platform: os.platform(), // 返回为 Node.js 编译的平台：
        release: os.release(), // 返回标识操作系统版本号的字符串。
        type: os.type(), // 返回操作系统名称。Linux，macOS 上为Darwin，Windows 上为 Windows_NT
        uptime: os.uptime(), // 返回自上次重新启动以来计算机持续运行的秒数。
      };

      res.send({
        code: 200,
        data: info,
        msg: 'custom.json 存在',
      });
    } catch (error) {
      logger.error(error);
      res.send({
        code: 500,
        data: {},
        msg: 'custom.json 不存在',
      });
    } finally {
      res.end();
    }
  });
}
